package gbench.appdemo.priceline.calendar;

import java.time.LocalDateTime;
import java.util.Date;

public interface ITradingCalendar {
    /**
     *  注意不同日历(ticker,一个ticker一个交易日历) 下计算的索引index是不一样的
     *   根据指定的时间，生成交易所以所在的时间框索引
     *      索引时段从１开始．
     * @param time　交易时间
     * @param period　交易周期，交易周期，按照毫秒为单位．
     * @return时间框索引
     */
    public  long getIndex(Date time,long period);
    
    /**
     *      根据指定的时间，生成交易所以所在的时间框索引
     *      索引时段从１开始．
     * @param time　交易时间
     * @param period　交易周期，交易周期，按照毫秒为单位．
     * @return时间框索引
     */
    public long getIndex(LocalDateTime  time,long period);
    
    /**
     *      这是定位当前交易时段的分区． 获取任意一个时间的最近的交易时段．
     * ldt只有为　交易时间的的分段：[startTime,endTime)之内部才算有效，截止时间不包含，开始时间包含．
     * @param ldt 任意一个时数值,null 返回null
     * @return　当前的交易日与交易时间．
     */
    public LocalDateTime getNearestTradingTimeSpan(LocalDateTime ldt);
}
